package com.xjh.controller;

import com.xjh.basestudy.javabase.method.Student;
import com.xjh.utils.resultutils.ResponseObj;
import com.xjh.utils.exception.SysException;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author： 徐建华
 * @date： 2021/12/28
 * @description：测试aop相关功能，比如异常处理，事务，日志等等
 */
@RestController
@RequestMapping("/api/aop")
public class AOPController {
    @RequestMapping("/testException")
    public ResponseObj testException() {
        System.out.println("testException执行了...");
        ResponseObj responseObj = new ResponseObj();
        //int b = 10/0;
        //throw new Exception();

        //try {
        //    int a = 10 / 0;
        //}catch (RuntimeException e){
        //    return responseObj.ok(e.getMessage());
        //}


        /*测试基于@RestControllerAdvice注解的全局异常处理器*/
        Student student = null;
        // 通过判断 决定是否抛出异常
        if (student == null) {
            // 传入异常信息参数
            throw new SysException("学生异常", 500);
        } else {
            System.out.println("学生正常");
        }
        //如果发生了异常这个返回值就没用了，返回的是全局异常处理器里的返回值
        return responseObj.ok("666");


    }

}
